Co-simulation is a technique used by developers to design, test, and optimize an application that is to be implemented on particular target hardware. With co-simulation, one or more components of an application in development execute on the target hardware. The target hardware may be a heterogeneous target environment (HTE) with computational devices having different processing capabilities. An HTE may include computational devices having different execution characteristics. For example, a first computational device may have first execution characteristics and a second computational device may have second execution characteristics, where the first and second execution characteristics differ from each other.
During co-simulation, execution of the application under development may include one or more application components that are simulated in the host simulation environment and one or more application components that are executed on the heterogeneous target environment.